home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / tjgold.zip / INSTALL.001 / GOLDATTR.PAS < prev    next >
Pascal/Delphi Source File  |  1995-07-12  |  15KB  |  358 lines

  1. {--------------------------------------------------------------------------}
  2. {                Product: TechnoJock's Turbo Toolkit                       }
  3. {                Version: GOLD                                             }
  4. {                Build:   1.01                                             }
  5. {                                                                          }
  6. {                Copyright 1986-1995  TechnoJock Software, Inc.            }
  7. {                           All Rights Reserved                            }
  8. {                          Restricted by License                           }
  9. {--------------------------------------------------------------------------}
  10.  
  11.                     {**********************************}
  12.                     {**       Unit:   GOLDATTR       **}
  13.                     {**********************************}
  14.  
  15. {++++++++++++++++++++++++++++++} unit GOLDATTR; {++++++++++++++++++++++++++++}
  16.  
  17. {$I GOLDFLAG.INC}
  18. {$IFNDEF GOLDATTR}
  19.    {$DEFINE GOLDATTR}
  20. {$ENDIF}
  21.  
  22. {++++++++++++++++++++++++++++++++} INTERFACE {+++++++++++++++++++++++++++++++}
  23.  
  24. uses DOS, CRT;
  25.  
  26. type
  27.    ATTRSet = record
  28.       LastECode: integer;
  29.    end;
  30.  
  31. const
  32.    UseTint                     = $00;     {  0}
  33.    BlackOnBlack                = $00;     {  0}
  34.    BlueOnBlack                 = $01;     {  1}
  35.    GreenOnBlack                = $02;     {  2}
  36.    CyanOnBlack                 = $03;     {  3}
  37.    RedOnBlack                  = $04;     {  4}
  38.    MagentaOnBlack              = $05;     {  5}
  39.    BrownOnBlack                = $06;     {  6}
  40.    LightGrayOnBlack            = $07;     {  7}
  41.    DarkGrayOnBlack             = $08;     {  8}
  42.    LightBlueOnBlack            = $09;     {  9}
  43.    LightGreenOnBlack           = $0A;     { 10}
  44.    LightCyanOnBlack            = $0B;     { 11}
  45.    LightRedOnBlack             = $0C;     { 12}
  46.    LightMagentaOnBlack         = $0D;     { 13}
  47.    YellowOnBlack               = $0E;     { 14}
  48.    WhiteOnBlack                = $0F;     { 15}
  49.    BlackOnBlue                 = $10;     { 16}
  50.    BlueOnBlue                  = $11;     { 17}
  51.    GreenOnBlue                 = $12;     { 18}
  52.    CyanOnBlue                  = $13;     { 19}
  53.    RedOnBlue                   = $14;     { 20}
  54.    MagentaOnBlue               = $15;     { 21}
  55.    BrownOnBlue                 = $16;     { 22}
  56.    LightGrayOnBlue             = $17;     { 23}
  57.    DarkGrayOnBlue              = $18;     { 24}
  58.    LightBlueOnBlue             = $19;     { 25}
  59.    LightGreenOnBlue            = $1A;     { 26}
  60.    LightCyanOnBlue             = $1B;     { 27}
  61.    LightRedOnBlue              = $1C;     { 28}
  62.    LightMagentaOnBlue          = $1D;     { 29}
  63.    YellowOnBlue                = $1E;     { 30}
  64.    WhiteOnBlue                 = $1F;     { 31}
  65.    BlackOnGreen                = $20;     { 32}
  66.    BlueOnGreen                 = $21;     { 33}
  67.    GreenOnGreen                = $22;     { 34}
  68.    CyanOnGreen                 = $23;     { 35}
  69.    RedOnGreen                  = $24;     { 36}
  70.    MagentaOnGreen              = $25;     { 37}
  71.    BrownOnGreen                = $26;     { 38}
  72.    LightGrayOnGreen            = $27;     { 39}
  73.    DarkGrayOnGreen             = $28;     { 40}
  74.    LightBlueOnGreen            = $29;     { 41}
  75.    LightGreenOnGreen           = $2A;     { 42}
  76.    LightCyanOnGreen            = $2B;     { 43}
  77.    LightRedOnGreen             = $2C;     { 44}
  78.    LightMagentaOnGreen         = $2D;     { 45}
  79.    YellowOnGreen               = $2E;     { 46}
  80.    WhiteOnGreen                = $2F;     { 47}
  81.    BlackOnCyan                 = $30;     { 48}
  82.    BlueOnCyan                  = $31;     { 49}
  83.    GreenOnCyan                 = $32;     { 50}
  84.    CyanOnCyan                  = $33;     { 51}
  85.    RedOnCyan                   = $34;     { 52}
  86.    MagentaOnCyan               = $35;     { 53}
  87.    BrownOnCyan                 = $36;     { 54}
  88.    LightGrayOnCyan             = $37;     { 55}
  89.    DarkGrayOnCyan              = $38;     { 56}
  90.    LightBlueOnCyan             = $39;     { 57}
  91.    LightGreenOnCyan            = $3A;     { 58}
  92.    LightCyanOnCyan             = $3B;     { 59}
  93.    LightRedOnCyan              = $3C;     { 60}
  94.    LightMagentaOnCyan          = $3D;     { 61}
  95.    YellowOnCyan                = $3E;     { 62}
  96.    WhiteOnCyan                 = $3F;     { 63}
  97.    BlackOnRed                  = $40;     { 64}
  98.    BlueOnRed                   = $41;     { 65}
  99.    GreenOnRed                  = $42;     { 66}
  100.    CyanOnRed                   = $43;     { 67}
  101.    RedOnRed                    = $44;     { 68}
  102.    MagentaOnRed                = $45;     { 69}
  103.    BrownOnRed                  = $46;     { 70}
  104.    LightGrayOnRed              = $47;     { 71}
  105.    DarkGrayOnRed               = $48;     { 72}
  106.    LightBlueOnRed              = $49;     { 73}
  107.    LightGreenOnRed             = $4A;     { 74}
  108.    LightCyanOnRed              = $4B;     { 75}
  109.    LightRedOnRed               = $4C;     { 76}
  110.    LightMagentaOnRed           = $4D;     { 77}
  111.    YellowOnRed                 = $4E;     { 78}
  112.    WhiteOnRed                  = $4F;     { 79}
  113.    BlackOnMagenta              = $50;     { 80}
  114.    BlueOnMagenta               = $51;     { 81}
  115.    GreenOnMagenta              = $52;     { 82}
  116.    CyanOnMagenta               = $53;     { 83}
  117.    RedOnMagenta                = $54;     { 84}
  118.    MagentaOnMagenta            = $55;     { 85}
  119.    BrownOnMagenta              = $56;     { 86}
  120.    LightGrayOnMagenta          = $57;     { 87}
  121.    DarkGrayOnMagenta           = $58;     { 88}
  122.    LightBlueOnMagenta          = $59;     { 89}
  123.    LightGreenOnMagenta         = $5A;     { 90}
  124.    LightCyanOnMagenta          = $5B;     { 91}
  125.    LightRedOnMagenta           = $5C;     { 92}
  126.    LightMagentaOnMagenta       = $5D;     { 93}
  127.    YellowOnMagenta             = $5E;     { 94}
  128.    WhiteOnMagenta              = $5F;     { 95}
  129.    BlackOnBrown                = $60;     { 96}
  130.    BlueOnBrown                 = $61;     { 97}
  131.    GreenOnBrown                = $62;     { 98}
  132.    CyanOnBrown                 = $63;     { 99}
  133.    RedOnBrown                  = $64;     {100}
  134.    MagentaOnBrown              = $65;     {101}
  135.    BrownOnBrown                = $66;     {102}
  136.    LightGrayOnBrown            = $67;     {103}
  137.    DarkGrayOnBrown             = $68;     {104}
  138.    LightBlueOnBrown            = $69;     {105}
  139.    LightGreenOnBrown           = $6A;     {106}
  140.    LightCyanOnBrown            = $6B;     {107}
  141.    LightRedOnBrown             = $6C;     {108}
  142.    LightMagentaOnBrown         = $6D;     {109}
  143.    YellowOnBrown               = $6E;     {110}
  144.    WhiteOnBrown                = $6F;     {111}
  145.    BlackOnLightGray            = $70;     {112}
  146.    BlueOnLightGray             = $71;     {113}
  147.    GreenOnLightGray            = $72;     {114}
  148.    CyanOnLightGray             = $73;     {115}
  149.    RedOnLightGray              = $74;     {116}
  150.    MagentaOnLightGray          = $75;     {117}
  151.    BrownOnLightGray            = $76;     {118}
  152.    LightGrayOnLightGray        = $77;     {119}
  153.    DarkGrayOnLightGray         = $78;     {120}
  154.    LightBlueOnLightGray        = $79;     {121}
  155.    LightGreenOnLightGray       = $7A;     {122}
  156.    LightCyanOnLightGray        = $7B;     {123}
  157.    LightRedOnLightGray         = $7C;     {124}
  158.    LightMagentaOnLightGray     = $7D;     {125}
  159.    YellowOnLightGray           = $7E;     {126}
  160.    WhiteOnLightGray            = $7F;     {127}
  161.    BlackOnDarkGray             = $80;     {128}
  162.    BlueOnDarkGray              = $81;     {129}
  163.    GreenOnDarkGray             = $82;     {130}
  164.    CyanOnDarkGray              = $83;     {131}
  165.    RedOnDarkGray               = $84;     {132}
  166.    MagentaOnDarkGray           = $85;     {133}
  167.    BrownOnDarkGray             = $86;     {134}
  168.    LightGrayOnDarkGray         = $87;     {135}
  169.    DarkGrayOnDarkGray          = $88;     {136}
  170.    LightBlueOnDarkGray         = $89;     {137}
  171.    LightGreenOnDarkGray        = $8A;     {138}
  172.    LightCyanOnDarkGray         = $8B;     {139}
  173.    LightRedOnDarkGray          = $8C;     {140}
  174.    LightMagentaOnDarkGray      = $8D;     {141}
  175.    YellowOnDarkGray            = $8E;     {142}
  176.    WhiteOnDarkGray             = $8F;     {143}
  177.    BlackOnLightBlue            = $90;     {144}
  178.    BlueOnLightBlue             = $91;     {145}
  179.    GreenOnLightBlue            = $92;     {146}
  180.    CyanOnLightBlue             = $93;     {147}
  181.    RedOnLightBlue              = $94;     {148}
  182.    MagentaOnLightBlue          = $95;     {149}
  183.    BrownOnLightBlue            = $96;     {150}
  184.    LightGrayOnLightBlue        = $97;     {151}
  185.    DarkGrayOnLightBlue         = $98;     {152}
  186.    LightBlueOnLightBlue        = $99;     {153}
  187.    LightGreenOnLightBlue       = $9A;     {154}
  188.    LightCyanOnLightBlue        = $9B;     {155}
  189.    LightRedOnLightBlue         = $9C;     {156}
  190.    LightMagentaOnLightBlue     = $9D;     {157}
  191.    YellowOnLightBlue           = $9E;     {158}
  192.    WhiteOnLightBlue            = $9F;     {159}
  193.    BlackOnLightGreen           = $A0;     {160}
  194.    BlueOnLightGreen            = $A1;     {161}
  195.    GreenOnLightGreen           = $A2;     {162}
  196.    CyanOnLightGreen            = $A3;     {163}
  197.    RedOnLightGreen             = $A4;     {164}
  198.    MagentaOnLightGreen         = $A5;     {165}
  199.    BrownOnLightGreen           = $A6;     {166}
  200.    LightGrayOnLightGreen       = $A7;     {167}
  201.    DarkGrayOnLightGreen        = $A8;     {168}
  202.    LightBlueOnLightGreen       = $A9;     {169}
  203.    LightGreenOnLightGreen      = $AA;     {170}
  204.    LightCyanOnLightGreen       = $AB;     {171}
  205.    LightRedOnLightGreen        = $AC;     {172}
  206.    LightMagentaOnLightGreen    = $AD;     {173}
  207.    YellowOnLightGreen          = $AE;     {174}
  208.    WhiteOnLightGreen           = $AF;     {175}
  209.    BlackOnLightCyan            = $B0;     {176}
  210.    BlueOnLightCyan             = $B1;     {177}
  211.    GreenOnLightCyan            = $B2;     {178}
  212.    CyanOnLightCyan             = $B3;     {179}
  213.    RedOnLightCyan              = $B4;     {180}
  214.    MagentaOnLightCyan          = $B5;     {181}
  215.    BrownOnLightCyan            = $B6;     {182}
  216.    LightGrayOnLightCyan        = $B7;     {183}
  217.    DarkGrayOnLightCyan         = $B8;     {184}
  218.    LightBlueOnLightCyan        = $B9;     {185}
  219.    LightGreenOnLightCyan       = $BA;     {186}
  220.    LightCyanOnLightCyan        = $BB;     {187}
  221.    LightRedOnLightCyan         = $BC;     {188}
  222.    LightMagentaOnLightCyan     = $BD;     {189}
  223.    YellowOnLightCyan           = $BE;     {190}
  224.    WhiteOnLightCyan            = $BF;     {191}
  225.    BlackOnLightRed             = $C0;     {192}
  226.    BlueOnLightRed              = $C1;     {193}
  227.    GreenOnLightRed             = $C2;     {194}
  228.    CyanOnLightRed              = $C3;     {195}
  229.    RedOnLightRed               = $C4;     {196}
  230.    MagentaOnLightRed           = $C5;     {197}
  231.    BrownOnLightRed             = $C6;     {198}
  232.    LightGrayOnLightRed         = $C7;     {199}
  233.    DarkGrayOnLightRed          = $C8;     {200}
  234.    LightBlueOnLightRed         = $C9;     {201}
  235.    LightGreenOnLightRed        = $CA;     {202}
  236.    LightCyanOnLightRed         = $CB;     {203}
  237.    LightRedOnLightRed          = $CC;     {204}
  238.    LightMagentaOnLightRed      = $CD;     {205}
  239.    YellowOnLightRed            = $CE;     {206}
  240.    WhiteOnLightRed             = $CF;     {207}
  241.    BlackOnLightMagenta         = $D0;     {208}
  242.    BlueOnLightMagenta          = $D1;     {209}
  243.    GreenOnLightMagenta         = $D2;     {210}
  244.    CyanOnLightMagenta          = $D3;     {211}
  245.    RedOnLightMagenta           = $D4;     {212}
  246.    MagentaOnLightMagenta       = $D5;     {213}
  247.    BrownOnLightMagenta         = $D6;     {214}
  248.    LightGrayOnLightMagenta     = $D7;     {215}
  249.    DarkGrayOnLightMagenta      = $D8;     {216}
  250.    LightBlueOnLightMagenta     = $D9;     {217}
  251.    LightGreenOnLightMagenta    = $DA;     {218}
  252.    LightCyanOnLightMagenta     = $DB;     {219}
  253.    LightRedOnLightMagenta      = $DC;     {220}
  254.    LightMagentaOnLightMagenta  = $DD;     {221}
  255.    YellowOnLightMagenta        = $DE;     {222}
  256.    WhiteOnLightMagenta         = $DF;     {223}
  257.    BlackOnYellow               = $E0;     {224}
  258.    BlueOnYellow                = $E1;     {225}
  259.    GreenOnYellow               = $E2;     {226}
  260.    CyanOnYellow                = $E3;     {227}
  261.    RedOnYellow                 = $E4;     {228}
  262.    MagentaOnYellow             = $E5;     {229}
  263.    BrownOnYellow               = $E6;     {230}
  264.    LightGrayOnYellow           = $E7;     {231}
  265.    DarkGrayOnYellow            = $E8;     {232}
  266.    LightBlueOnYellow           = $E9;     {233}
  267.    LightGreenOnYellow          = $EA;     {234}
  268.    LightCyanOnYellow           = $EB;     {235}
  269.    LightRedOnYellow            = $EC;     {236}
  270.    LightMagentaOnYellow        = $ED;     {237}
  271.    YellowOnYellow              = $EE;     {238}
  272.    WhiteOnYellow               = $EF;     {239}
  273.    BlackOnWhite                = $F0;     {240}
  274.    BlueOnWhite                 = $F1;     {241}
  275.    GreenOnWhite                = $F2;     {242}
  276.    CyanOnWhite                 = $F3;     {243}
  277.    RedOnWhite                  = $F4;     {244}
  278.    MagentaOnWhite              = $F5;     {245}
  279.    BrownOnWhite                = $F6;     {246}
  280.    LightGrayOnWhite            = $F7;     {247}
  281.    DarkGrayOnWhite             = $F8;     {248}
  282.    LightBlueOnWhite            = $F9;     {249}
  283.    LightGreenOnWhite           = $FA;     {250}
  284.    LightCyanOnWhite            = $FB;     {251}
  285.    LightRedOnWhite             = $FC;     {252}
  286.    LightMagentaOnWhite         = $FD;     {253}
  287.    YellowOnWhite               = $FE;     {254}
  288.    WhiteOnWhite                = $FF;     {255}
  289.  
  290. function  CAttr(F,B:byte):byte;
  291. function  FAttr(A:byte): byte;
  292. function  BAttr(A:byte): byte;
  293.  
  294. {$IFDEF TTT5}
  295.  
  296. function Attr(F,B:byte):byte;
  297.  
  298. {$ENDIF}
  299.  
  300. var
  301.    ATTRData: ATTRSet;
  302.  
  303. {+++++++++++++++++++++++++++++} IMPLEMENTATION {+++++++++++++++++++++++++++++}
  304.  
  305.                       {******************************}
  306.                       {**  Miscelleanous Routines  **}
  307.                       {******************************}
  308.  
  309. function CAttr(F,B:byte):byte;
  310. {converts foreground(F) and background(B) colors to combined Attribute byte}
  311. begin
  312.    if B > 15 then
  313.       B := BAttr(B);
  314.    if F > 15 then
  315.       F := FAttr(F);
  316.    CAttr := (B Shl 4) or F;
  317. end;  { CAttr }
  318.  
  319. function FAttr(A:byte): byte;
  320. {returns the foreground color from an attribute Byte}
  321. begin
  322.    FAttr := A and 15;
  323. end; { FAttr }
  324.  
  325. function BAttr(A:byte): byte;
  326. {returns the background color from an attribute Byte}
  327. begin
  328.    BAttr := A shr 4;
  329. end; { BAttr }
  330.  
  331.               {**********************************************}
  332.               {**  U N I T   I N I T I A L I Z A T I O N   **}
  333.               {**********************************************}
  334.  
  335.  
  336. procedure GoldATTRInit;
  337. {}
  338. begin
  339.    with ATTRData do
  340.    begin
  341.       LastECode := 0;
  342.    end;
  343. end; {GoldATTRInit}
  344.  
  345. {$IFDEF TTT5}
  346.  
  347. function Attr(F,B:byte):byte;
  348. {}
  349. begin
  350.    Attr := CAttr(F,B);
  351. end;  { Attr }
  352.  
  353. {$ENDIF}
  354.  
  355. begin
  356.    GoldATTRInit;
  357. end.
  358.